package com.ruicar.afs.cloud.afscase.step.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ruicar.afs.cloud.common.core.entity.BaseEntity;
import com.ruicar.afs.cloud.common.core.enums.AfsEnumDeserializer;
import com.ruicar.afs.cloud.common.core.enums.AfsEnumSerializer;
import com.ruicar.afs.cloud.common.modules.afscorebusiness.enums.ProcessTypeEnum;
import com.ruicar.afs.cloud.common.modules.afscorebusiness.enums.StepSceneEnum;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @Description
 * @Author Peng Jinbo
 * @Date 2020/08/28 11:42
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("case_step_param")
public class CaseStepParam extends BaseEntity {

    /**
     * Apply no
     */
    private String applyNo;

    /**
     * Scene
     * 场景 StepSceneEnum
     */
    @JSONField(serializeUsing = AfsEnumSerializer.class, deserializeUsing = AfsEnumDeserializer.class)
    @JsonSerialize(using = AfsEnumSerializer.class)
    @JsonDeserialize(using = AfsEnumDeserializer.class)
    private StepSceneEnum scene;

    /**
     * Stage id
     * 流程编号
     */
    private String stageId;

    /**
     * Flow type
     * 流程标识
     */
    @JSONField(serializeUsing = AfsEnumSerializer.class, deserializeUsing = AfsEnumDeserializer.class)
    @JsonSerialize(using = AfsEnumSerializer.class)
    @JsonDeserialize(using = AfsEnumDeserializer.class)
    private ProcessTypeEnum flowType;

    /**
     * Return submit
     * 退回重提标识 yes no
     */
    private String returnSubmit;

    /**
     * Contract no
     * 合同编号
     */
    private String contractNo;

    /**
     * Task id
     * 任务id
     */
    private String taskId;

    /**
     * 修订回复留言
     */

    private String leaveMessage;

}
